//配置基地址
axios.defaults.baseURL = 'https://hmajax.itheima.net';


//判断用户信息合法性
const regName = /^[a-zA-Z0-9]{8,30}$/
const regPws = /^[a-zA-Z0-9]{6,30}$/

function regUserInfo(username, password) {
  if (!regName.test(username)) {
    pxmu.fail('用户名有误，应由8-30位英文大小写或数字组成')
    return false
  }
  else if (!regName.test(password)) {
    pxmu.fail('密码有误，应由8-30位英文大小写或数字组成')
    return false
  }
  return true
}

// 请求拦截
axios.interceptors.request.use(function (config) {
  //发送请求前做的额外配置 Authorization添加token令牌
  const token = localStorage.getItem('token')
  token && (config.headers.Authorization = token)
  return config
}, function (error) {
  //对请求错误做些什么
  return Promise.reject(error)
})


// 响应拦截
axios.interceptors.response.use(function (response) {
  //响应码2xx触发本函数
  //数据剥离：剥离data属性，页面中少写.data属性，直接可以获取到数据
  const result = response.data
  return result
}, function (err) {
  if (err?.response?.status === 401) {
    pxmu.fail('登录状态过期，请重新登录')
    localStorage.clear()
    setTimeout(function () {
      location.href = 'login.html'
    }, 1000)
  }
  return Promise.reject(err)
})